public class TestDemo3 {
//手动抛出异常
//    除了java内置的类会抛出一些异常之外，程序员也可以手动抛出某个异常，
//    使用throw关键字完成这个操作
    //    不仅可以通过throw抛出异常，也可以通过throw在方法名后写出方法内包含的异常
    public static double div(int a,int b) throws ArithmeticException,NullPointerException{
        //在函数名的后面写一个throw + 要抛出的异常,这样在调用的时候就可以知道这函数抛出了哪些异常.就能准确的对异常进行处理了
        if(b == 0){
            throw new ArithmeticException("b == 0");
//            如果只是抛出一个异常，并未进行处理，所以最后还是会交给jvm处理
        }
        if(a == 1){
            throw new NullPointerException();
        }
        return a/b;
    }
public static void main(String[] args) {
        try{
            System.out.println(div(10,0));
        }catch(ArithmeticException | NullPointerException e){
            e.printStackTrace();
        }

}
}
